/*
    Android Asynchronous Http Client
    Copyright (c) 2011 James Smith <james@loopj.com>
    http://loopj.com

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
 */

package com.frank.http.expand;

import org.apache.http.Header;
import org.apache.http.HttpEntity;

import android.content.Context;

import com.frank.http.base.AsyncHttpResponseHandler;
import com.frank.http.base.RequestHandle;
import com.frank.http.base.RequestParams;
import com.frank.http.base.ResponseHandlerInterface;

/**
 * 网络请求数据基类
 * 
 * @author Frank
 * @version 1.0 Create by 2016.02.24
 */
public abstract class CacheAsyncHttpBase {

	public abstract void setNetLoadProcess(NetLoadProcess netLoadProcess);

	public abstract void setAcache(ACache aCache);

	public abstract void setToastTools(Tools toastTools);

	public abstract void setAcacheTime(int cacheTime);

	public abstract void isInterceptError(boolean isInterceptError);

	public abstract void head(String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void head(String url, RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void head(Context context, String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void head(Context context, String url,
			RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void head(Context context, String url, Header[] headers,
			RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void get(String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void get(String url, RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void get(Context context, String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void get(Context context, String url, RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void get(Context context, String url, Header[] headers,
			RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void get(Context context, String url, HttpEntity entity,
			String contentType,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void get(String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

	public abstract void get(String url, RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

	public abstract void get(Context context, String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

	public abstract void get(Context context, String url, RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

	public abstract void post(String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void post(String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

	public abstract void post(String url, RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void post(String url, RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

	public abstract void post(Context context, String url,
			RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

	public abstract void post(Context context, String url,
			RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void post(Context context, String url, HttpEntity entity,
			String contentType,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void post(Context context, String url, HttpEntity entity,
			String contentType,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

	public abstract void post(Context context, String url, Header[] headers,
			RequestParams params, String contentType,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void post(Context context, String url, Header[] headers,
			HttpEntity entity, String contentType,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void put(String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void put(String url, RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void put(Context context, String url, RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void put(Context context, String url, HttpEntity entity,
			String contentType,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void put(Context context, String url, Header[] headers,
			HttpEntity entity, String contentType,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void put(Context context, String url, HttpEntity entity,
			String contentType,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

	public abstract void put(Context context, String url, RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

	public abstract void put(String url, RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

	public abstract void put(String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

	public abstract void patch(String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void patch(String url, RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void patch(Context context, String url,
			RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void patch(Context context, String url, HttpEntity entity,
			String contentType,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void patch(Context context, String url, Header[] headers,
			HttpEntity entity, String contentType,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void delete(String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void delete(Context context, String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void delete(Context context, String url, Header[] headers,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void delete(String url, RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void delete(Context context, String url, Header[] headers,
			RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void delete(Context context, String url, HttpEntity entity,
			String contentType,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler);

	public abstract void delete(String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

	public abstract void delete(Context context, String url,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

	public abstract void delete(String url,
			RequestParams params,
			CacheAsyncHttpResponseHandler cacheAsyncHttpResponseHandler,
			boolean encryption);

}
